Mobile computing device users have become accustomed to determining their location via use of the global positioning system (GPS). GPS is used by a number of smartphone applications to provide location-specific information to the smartphone user. GPS, however, works best outdoors. GPS receivers are less capable of determining location when GPS satellite signals are blocked by buildings in, for instance, a metropolitan area, or when the GPS receiver is indoors. GPS receivers also tend to have high power requirements and have less reliable location information than equivalent Wi-Fi receivers.
Wireless access points can be used to determine the location of mobile computing devices in situations where GPS location service is degraded or where the power consumed by GPS receivers is a concern. Devices connected to wireless access points can compute their location with respect to the locations of the wireless access points around them by, for example, scanning the surrounding Wi-Fi environment and determining the location of the device relative to the detected wireless access points. In some approaches, the device determines its location based on the location and distance of the wireless access points from the device as revealed by the scan. In other approaches, the scan of the surrounding Wi-Fi environment yields a list of access points and their signal strengths. The device may send the list to a service in the cloud where the service may use historical knowledge to determine the location of the device. The service may send, to the device, a response that includes the determined location of the device.